package com.sws.common.utils.access_tokenutil.service;


import com.sws.common.utils.access_tokenutil.model.DeviceToken;

/**
 * 访问令牌服务接口
 * 
 * @author sws
 */
public interface IAccessTokenService {

    /**
     * 获取设备访问令牌
     *
     * @param deviceIp 设备IP地址
     * @return 设备令牌信息
     */
    DeviceToken getAccessToken(String deviceIp);

    /**
     * 刷新设备访问令牌
     *
     * @param deviceIp 设备IP地址
     * @return 刷新结果
     */
    boolean refreshAccessToken(String deviceIp);

    /**
     * 刷新所有设备的访问令牌
     */
    void refreshAllAccessTokens();


    /**
     * 直接获取设备访问令牌字符串
     * 简化开发人员使用，无需从DeviceToken对象中提取token
     *
     * @param deviceIp 设备IP地址
     * @return 访问令牌字符串，获取失败则返回null
     */
    String getToken(String deviceIp);
} 